
#include<bits/stdc++.h>
#define sd(n) scanf("%d",&n) 
#define sld(n) scanf("%lld",&n)
#define pd(n) printf("%d", (n))
#define pld(n) printf("%lld", n)
#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()
#define fi first
#define se second
const int N = 2e5;
#define INF 0x7fffffff
typedef long long int ll;
using namespace std;
//----------------------------------------------------------------------------//
int a[40];
void solve()
{
	int n;
	sd(n);
	for (int i = 0; i < n; i++) sd(a[i]);

	int ans = 0;
	if (n == 1)
	{
		pd(0);
		puts("");
		return;
	}
	for (int i = n-1; i > 0; i--)
	{
		// if (a[i] == 0 && a[i - 1] != 0)
		// {
		// 	pd(-1);
		// 	puts("");
		// 	return;
		// }
		while (a[i] <= a[i - 1])
		{
			a[i-1]/= 2;
			ans++;
			if(a[i-1]==0) goto ed;
		}
	}
	ed:;
	// if(is_sorted(a, a + n)) pd(ans);
	// else pd(-1);
	bool ok=true;
	for(int i=0;i<n-1;i++)
	{
		if(a[i]>=a[i+1])
		{
			ok=false;break;
		}
	}
	if(ok)  pd(ans);
	else pd(-1);
	puts("");

}

int main()
{
	int T;
	sd(T);
	while (T--)
	{
		solve();
	}
	return 0;
}